@use '../../theming/inspection';
@use 'sass:map';
@use '../../tokens/m2-utils';
@use '../../tokens/m3-utils';

// Tokens that can't be configured through Angular Material's current theming API,
// but may be in a future version of the theming API.
@function get-unthemable-tokens() {
  @return ();
}

// Tokens that can be configured through Angular Material's color theming API.
@function get-color-tokens($theme, $color-variant) {
  $is-dark: inspection.get-theme-type($theme) == dark;
  $disabled-color: if($is-dark, #686868, #b0b0b0);
  $system: m2-utils.get-system($theme);
  $system: m3-utils.replace-colors-with-variant($system, secondary, $color-variant);

  @return (
    pseudo-checkbox-full-selected-icon-color: map.get($system, secondary),
    pseudo-checkbox-full-selected-checkmark-color: map.get($system, background),
    pseudo-checkbox-full-unselected-icon-color: map.get($system, on-surface-variant),
    pseudo-checkbox-full-disabled-selected-checkmark-color: map.get($system, background),
    pseudo-checkbox-full-disabled-unselected-icon-color: $disabled-color,
    pseudo-checkbox-full-disabled-selected-icon-color: $disabled-color,
    pseudo-checkbox-minimal-selected-checkmark-color: map.get($system, secondary),
    pseudo-checkbox-minimal-disabled-selected-checkmark-color: if($is-dark, #686868, #b0b0b0),
  );
}

// Tokens that can be configured through Angular Material's typography theming API.
@function get-typography-tokens($theme) {
  @return ();
}

// Tokens that can be configured through Angular Material's density theming API.
@function get-density-tokens($theme) {
  @return ();
}
